{
 "cells": [
  {
   "cell_type": "code",
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2025-09-12T03:25:30.013185Z",
     "start_time": "2025-09-12T03:25:29.998838Z"
    }
   },
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "import xgboost as xgb\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.metrics import roc_auc_score\n",
    "\n",
    "plt.rcParams[\"font.family\"] = [\"Microsoft YaHei\", \"SimHei\"]\n",
    "plt.rcParams['font.size'] = 15"
   ],
   "outputs": [],
   "execution_count": 26
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-12T03:25:30.028893Z",
     "start_time": "2025-09-12T03:25:30.015185Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def deal_file(path):\n",
    "    df = pd.read_csv(path, index_col='Attrition')\n",
    "    df['BusinessTravel'] = df['BusinessTravel'].map({'Non-Travel': 0, 'Travel_Rarely': 1, 'Travel_Frequently': 2})\n",
    "    df['Gender'] = df['Gender'].map({'Male': 0, 'Female': 1})\n",
    "    df['Over18'] = df['Over18'].map({'Y': 0, 'N': 1})\n",
    "    df['OverTime'] = df['OverTime'].map({'Yes': 0, 'No': 1})\n",
    "    df = pd.get_dummies(df, dtype=int)\n",
    "    return df, df.index"
   ],
   "id": "46ef2e1ea4a82570",
   "outputs": [],
   "execution_count": 27
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-12T03:25:30.045240Z",
     "start_time": "2025-09-12T03:25:30.029880Z"
    }
   },
   "cell_type": "code",
   "source": [
    "train_path = '../../data/raw/train.csv'\n",
    "x_train, y_train = deal_file(train_path)\n",
    "# x_train.info()"
   ],
   "id": "ad632b2dd248b281",
   "outputs": [],
   "execution_count": 28
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-12T03:25:30.059580Z",
     "start_time": "2025-09-12T03:25:30.047271Z"
    }
   },
   "cell_type": "code",
   "source": [
    "test_path = '../../data/raw/test2.csv'\n",
    "x_test, y_test = deal_file(test_path)\n",
    "# x_test.info()"
   ],
   "id": "d32842aaf9aa5864",
   "outputs": [],
   "execution_count": 29
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-12T03:25:30.560787Z",
     "start_time": "2025-09-12T03:25:30.060579Z"
    }
   },
   "cell_type": "code",
   "source": [
    "max_depth = 15\n",
    "model = xgb.XGBClassifier(eta=0.5)\n",
    "model = GridSearchCV(model,\n",
    "                     param_grid={'max_depth': range(1, max_depth + 1)},\n",
    "                     return_train_score=True, n_jobs=-1)\n",
    "\n",
    "model.fit(x_train, y_train)\n",
    "res = pd.DataFrame(model.cv_results_)"
   ],
   "id": "c18cac0bb92d2016",
   "outputs": [],
   "execution_count": 30
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-12T03:25:30.701944Z",
     "start_time": "2025-09-12T03:25:30.561788Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.plot(res['param_max_depth'], res['mean_test_score'], label='cv_score')\n",
    "plt.plot(res['param_max_depth'], res['mean_train_score'], label='train_score')\n",
    "plt.xticks(range(1, max_depth + 1))\n",
    "\n",
    "plt.legend()"
   ],
   "id": "66e75c084b6bfce7",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2a9b562fcd0>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAGlCAYAAAD5zPKZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjUsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvWftoOwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdQdJREFUeJzt3XlclVXix/HPZbvsCIKoICKKKe6k5pILLmlWM5alZWVlaYtWU1aTLdrya6ypnGq0zUytqayZckodS81dK7dcwX1F3EAFBNnP74/bvUmAggKX5ft+vXiJz3Oe55xLdO/X85zFYowxiIiIiNRSLs5ugIiIiIgzKQyJiIhIraYwJCIiIrWawpCIiIjUagpDIiIiUqspDImIiEitpjAkIiIitZrCkIiIiNRqbs5uQHVQUFBAUlISfn5+WCwWZzdHRERESsEYQ3p6Og0bNsTFpeT+H4WhUkhKSqJRo0bOboaIiIhcgsOHDxMeHl7ieYWhUvDz8wNsP0x/f38nt0ZERERKIy0tjUaNGjk+x0uiMFQK9kdj/v7+CkMiIiLVzMWGuGgAtYiIiNRqCkMiIiJSqykMiYiISK2mMCQiIiK1msKQiIiI1GoKQyIiIlKrXVYYSk1NZeTIkXTt2rVM16WkpPDwww/TuHFjrFYrkZGRjBs3jvT09GLL5+Xl8frrr9O6dWu8vLwICQlh2LBh7N69u8Q65syZQ8+ePQkICMDf35/evXuzcOHCMrVTREREar5LCkOZmZm88847REdHM2PGDIwxpb726NGjxMbGMmXKFPLz8+nSpQunT59m8uTJ9OzZk4yMjELl8/PzueGGG3jqqac4dOgQnTt3xtPTk6+++opOnTqRkJBQpI5XXnmFm266iTVr1hATE0Pjxo1Zvnw5AwcO5F//+telvGQRERGpocochsaNG0d4eDiPPvoorq6uZa5w9OjRHDp0iPvvv5+DBw+yfPly9u3bR9u2bdm0aROvv/56ofJvvfUW33//PZ06deLAgQMsX76cAwcOcNddd5GamsqDDz5YqPz69et5/vnnCQoKYsOGDfz0009s3bqVadOmYYxh7NixpKamlrndIiIiUkOZMmrcuLGpW7euee2118wPP/xgAHPVVVeV6tr4+HgDmLCwMJOVlVXo3IoVKwxg6tevbwoKCowxxuTn55sGDRoYwGzdurVQ+fT0dOPv728AEx8f7zg+dOhQA5gpU6YUqb9Pnz4GMO+++26ZXnNqaqoBTGpqapmuExEREecp7ed3mXuGPvzwQw4dOsRTTz2Fh4dHma6dO3cuALfccgtWq7XQuR49elC/fn2OHTvGtm3bAFsvz9GjR2nfvj2tW7cuVN7X15dBgwYBsHjxYsA2tmjBggVYLBaGDx9epP6hQ4cWKi8iIiJS5jB0zTXX4O3tfUmVbdy4EYDOnTsXez42NhbAMQ6orOX37NlDeno60dHRBAYGXrS8iIiISKVu1Lp//34AIiIiij0fHh4OQFJSUqWUL0l2djbZ2dmOv6elpV2wvFyinExY8w6cO+PsloiIiLN1eRACGzul6koNQ/ZQUdLO776+vgCOGWUVXb4kkyZN4sUXX7xgGSkH/3sCNn3m7FaIiEhV0HpI7QhDubm5ACXOQrNYLIXOV3T5kowfP57HH3/c8fe0tDQaNWp0wWukjLb+xxaELC5w1YPg7unsFomIiDP51Xda1ZUahuxjjTIzM4s9b++x8fPzq5TyJbFarUUGeEs5On0A5j1m+77nkxD3jFObIyIitVulbsfRoEEDAI4cOVLseftYniZNmlRKeXGC/Fz4+j7IToNGXaDnU85ukYiI1HKVGobs0+Pts8T+yH68ffv2ZSrfoUMHAGJiYnBxcSE+Pp6srKyLlhcnWDYJEteBNQCGTAPXSu2cFBERKaJSw9DAgQMB+OqrrygoKCh0bvXq1SQmJtK5c2caNmwIQFxcHFarldWrV3P48OFC5TMyMpg3bx4eHh5ce+21AAQEBNClSxdycnKYM2dOkfpnz54NwODBg8v7pUlp7F8BKyfbvv/T21Cn+Fl/IiIilanCwlBiYiJxcXGMGzfOcaxv3760atWKHTt28Nxzzzn2NEtOTmbMmDGAbfCyna+vL/fccw/5+fmMHDnSMeYnLy+PMWPGcObMGR588EHq1KnjuOaRRx4B4KmnnmLv3r2O49OmTWPx4sW0b9/eEcqkEmWkwDejAQOxI6DVjc5ukYiIiM3lLHO9dOnSErfjeP311w1gAHPy5EnH8bVr1xpvb28DmMjISNOrVy/j5+dnAHP//fcXuc+pU6dM8+bNDWCCgoJM7969TVhYmAHMlVdeac6ePVuofEFBgWNLDg8PD9O9e3cTExNjABMYGFho647S0nYcl6mgwJjPbzVmor8x/+xoTPbZi18jIiJymSpsO47S6t+/P6GhoQwaNIi6des6jnfq1Im1a9cyePBgUlNTWbduHc2bN+ejjz7i/fffL3KfwMBAfv75Z8aMGYOXlxdr1qzB09OTZ555hhUrVuDj41OovMVi4fPPP+f1118nKiqK9evXk5KSwogRI9i0aRMtW7asqJcsJVn3Eez8H7h6wJDp4OFz8WtEREQqicWY355VSYnS0tIICAggNTW1xAUdpQTHt8OHcZCfDQNfta0wKiIiUglK+/ldqQOopZbJyYT/3GsLQtHXwFUPOLtFIiIiRSgMScVZ+CycTADfUPjzu/DbCuAiIiJVicKQVIyEubD+Y9v3N74PviHObY+IiEgJFIak/KUmwrdjbd93ewSa9nFue0RERC5AYUjKV0E+fHM/ZJ2Bhh2gz/PObpGIiMgFKQxJ+Vo5GQ6uAg9f2zR6Nw9nt0hEROSCFIak/Bz6xbb3GMB1b0Ldps5tj4iISCkoDEn5OHfGthu9yYc2Q6Hdrc5ukYiISKkoDMnlMwbm/QVSD0FgpK1XSEREpJpQGJLL9+u/YPsccHGzjRPy1CrdIiJSfSgMyeVJ3g0LnrJ9H/cshHd0bntERETKSGFILl1eNvznHsjNhCa9oPtfnN0iERGRMlMYkku3+EU4thW8guDGD8BFv04iIlL96NNLLs3uRfDzVNv3g98D/wbObY+IiMglUhiSsks/DnN+24G+8/1wxUDntkdEROQyKAxJ2RQUwH8fgMxkCG0N/V9ydotEREQui8KQlM1PU2DvEnDzsk2jd/d0dotEREQui8KQlN6RjfDjbz1BAydBvRbObY+IiEg5UBiS0slOh6/vhYJcaPknuPJuZ7dIRESkXCgMSen87yk4tQ/8w+FP74DF4uwWiYiIlAuFIbm4Lf+GzZ+DxQWGTAOvQGe3SEREpNwoDMmFndoP8x6zfd/zKWjczbntERERKWcKQ1Ky/Fz4+j7ISYdGXaDnk85ukYiISLlTGJKSLf0bHFkPngG2x2Oubs5ukYiISLlTGJLi7VsOq/5h+/6Gd6BOhHPbIyIiUkEUhqSojBT4ZjRgIHYEtBrs7BaJiIhUGIUhKcwY+HYMnD0Gwc1h4KvObpGIiEiFUhiSwtZ9BLsWgKsH3PwxePg4u0UiIiIVSmFIfndsG/zwrO37/i9D/TbObY+IiEglUBgSm5xM23Yb+dkQPQCuut/ZLRIREakUCkNi88MzcHIH+IbC4He13YaIiNQaCkMC8d/BhhmABW78AHyCnd0iERGRSqMwVNulJsJ3D9u+7/4INI1zbntEREQqmcJQbVaQb1tPKOsMNIyFuOec3SIREZFKpzBUm63/GA6uBg9fuHk6uHk4u0UiIiKVTmGoNtv5P9ufvf4KQVHObYuIiIiTKAzVVgX5cHid7XuNExIRkVpMYai2Or4dctLB6g/1YpzdGhEREae55DC0ZcsWhgwZQkhICF5eXrRt25YpU6ZgjCnV9WvXruWmm24iJCQEq9VK8+bNefnll8nOzi5UbubMmVgslot+3X333YWuGzp0aIlle/fufakvu+Y49LPtz/BO4OLq3LaIiIg4kdulXLRkyRIGDRpEdnY2MTExREdHs3btWh5++GG2bNnChx9+eMHrZ82axb333kt+fj7NmjWjZcuWbNiwgQkTJrB8+XIWLFiAu7s7AGFhYQwYMKDEe23dupWkpCTatCm8dURKSgoA/fv3x8WlcOZr27btpbzsmuXwb2Eoootz2yEiIuJkFlParpzfZGZmEhUVxfHjx/nkk0+48847Adi4cSO9e/cmPT2dpUuXltj7snfvXlq2bElBQQGff/45Q4cOBeD48eMMHDiQTZs28dZbb/Hoo49etC3p6elERUXh5eXFrl278PT0dJxr164d8fHx5ObmluXlFSstLY2AgABSU1Px9/e/7PtVCZNbQVoi3DUXmvR0dmtERETKXWk/v8v8mGzWrFkcP36cm2++2RGEAGJjY3nyyScBeO+990q8fvr06eTm5jJ69GhHEAIIDQ1l2rRpAEydOrVUbXnzzTdJTk7mhRdeKBSEwNYzVLdu3VK/rlrlzGFbELK4QtiVzm6NiIiIU5U5DM2dOxeAO+64o8g5e7hZvHhxiddv3rwZgF69ehU517FjR8LCwti9ezcHDx68YDuSk5OZPHkyUVFRjBgxosh5haELOPyL7c8GbcHDx7ltERERcbIyh6GNGzcC0Llz5yLnmjdvjo+PD6dOneLEiRPFXm9/KpeRkVHs+aCgIAB27tx5wXa8+uqrpKen8+yzz+LmVnjoU0ZGBllZWQQHa4+tYh36yfZnRFfntkNERKQKKFMYyszM5Pjx47i7u1O/fv0i5y0WC2FhYQAkJSUVe49WrVoBMGfOnCLn9u7dy44dOwA4ffp0ie1IS0vjgw8+oEGDBsX2UNkHT69YsQKLxYLVaqVJkyaMHDmS+Pj4i7xKyM7OJi0trdBXjXLot56hRlc5tx0iIiJVQJnCUHp6OgB+fn5YLJZiy/j6+gIl9/yMGjUKDw8P5s2bx9ixY9m3bx8ZGRksWrSIQYMG4epqm+adn59fYjs++ugjzp49y5gxY/DwKLqFRGZmJrGxscTFxdGnTx8iIyNJTExkxowZxMbGFhvEzjdp0iQCAgIcX40aNbpg+WolKxVObLd9r5lkIiIiZQtD9plZ9sBSHHtIKqlM8+bNmTlzJh4eHkydOpWmTZvi6+vLNddcQ1RUFH369AEocdR3QUEBU6ZMwd3dnfvuu6/YMi1atGDDhg0sWbKEH3/8kZ07d7J3715uueUWsrOzueeeezh16lSJr2H8+PGkpqY6vg4fPlxi2WoncR2YAgiMBL+ivXsiIiK1TZnWGfL29gZsPS8lsfcI+fn5lVjmtttuo2PHjnz88cckJCTg4+ND3759GTFiBD169ABwPG77o3nz5rF//35uuukmQkNDS932iIgIZs+eTUJCAtu2bWPevHnFDrwGsFqtWK3WUt+7WnE8IlOvkIiICJQxDNWpUwcvLy8yMjJITU0lICCgSJmkpCQsFguRkZEXvFd0dDSTJk0qdCwvL4/t27fj5uZGTEzxW0TMmjULgOHDh5el6QC4uLgwcOBAtm3bxr59+8p8fY2gxRZFREQKKdNjMhcXF1q2bAn8PqvsfHv37iUtLY3o6Gh8fMo+ZXvRokWkp6cTFxdXbM/M2bNnmT9/Pt7e3lx33XVlvj/8/qjPy8vrkq6v1vJzIXG97XuFIREREeASptYPHDgQgNmzZxc5Zz82ePDgMjckNzeXiRMnArZB1sX54YcfyM7Opm/fvkUWWSyNnJwc5s2bB9jWNKp1jm2F3EzwDIDgK5zdGhERkSqhzGHo/vvvx2q1Mn36dObPn+84vmHDBl577TW8vLwcW2kkJiYSFxfHuHHjCt1j0aJF5OXlOf6ekpLCsGHDWLduHb179+aWW24ptu5FixYBOAZZl+SHH35gyZIlhY4dOXKEm2++mb1799K2bVvi4uJK/6JrCvvmrI26gMsl79ErIiJSo5R5o9aIiAjefPNNxo4dy/XXX0/79u3x8vJi7dq1GGP49NNPadiwIWDrKVq2bBnLli1j/PjxjkUQR40aRXp6OldccQXGGH799Veys7Pp0KEDX3/9dYl1r1q1CoCuXS+8WGBCQgKPPfYYDRo0oEWLFiQnJ7Nz505ycnKIiIjg66+/LrJ5a63gGC+k9YVERETsLikRjBkzhm+//ZZu3bqxa9cu4uPj6devH8uWLSs0sLl///6EhoYyaNCgQltjjBgxguDgYDZv3sz27dtp27YtkydP5pdffnGsQP1HOTk5jlWp7Qs3liQuLo7rr7+egoICVq5cyd69e2nRogUTJkxg06ZNNGvW7FJedvVmzO8zybTytIiIiEOZd62vjWrErvWn9sM77cHFHcYfBvdaOIBcRERqlQrbtV6qKfvmrA3bKwiJiIicR2GotnBszqop9SIiIudTGKottPK0iIhIsRSGaoNzp+Fkgu177VQvIiJSiMJQbXB4re3Pus3AN8S5bREREaliFIZqg/MXWxQREZFCFIZqg0PanFVERKQkCkM1XV4OJP22qa7CkIiISBEKQzXd0c2QlwXedW1jhkRERKQQhaGazr6+UKMuYLE4ty0iIiJVkMJQTWdfeVqbs4qIiBRLYagmM+a8wdPanFVERKQ4CkM1WcpeyEwGVys0aOfs1oiIiFRJCkM12eHfeoXCYsHN6ty2iIiIVFEKQzWZNmcVERG5KIWhmkybs4qIiFyUwlBNlZEMKbtt3zfq7Ny2iIiIVGEKQzWVfUp9SAvwDnJuW0RERKowhaGayrE5q9YXEhERuRCFoZpK6wuJiIiUisJQTZSbBUc32b7XytMiIiIXpDBUEyX9Cvk54FMPAps4uzUiIiJVmsJQTXT++kLanFVEROSCFIZqIsfmrFpfSERE5GIUhmqagoLzZpIpDImIiFyMwlBNk7wLss6Amxc0aOvs1oiIiFR5CkM1jX1z1vCO4Oru3LaIiIhUAwpDNY1jfSE9IhMRESkNhaGaRuOFREREykRhqCZJPw6n9wMWaNTJ2a0RERGpFhSGahL7eKHQVuAZ4Ny2iIiIVBMKQzXJod/WF9LmrCIiIqWmMFSTOFae1uasIiIipaUwVFPkZMKxLbbvtTmriIhIqSkM1RRHNkBBHvg1hIBGzm6NiIhItaEwVFOcv76QNmcVEREpNYWhmuKwFlsUERG5FJcchrZs2cKQIUMICQnBy8uLtm3bMmXKFIwxpbp+7dq13HTTTYSEhGC1WmnevDkvv/wy2dnZxZavV68eFoul2K8XXnih2GvmzJlDz549CQgIwN/fn969e7Nw4cJLfclVV0E+HF5r+14zyURERMrE7VIuWrJkCYMGDSI7O5uYmBiio6NZu3YtDz/8MFu2bOHDDz+84PWzZs3i3nvvJT8/n2bNmtGyZUs2bNjAhAkTWL58OQsWLMDd/fd9tYwxnDp1ioCAALp0Kdrz0axZsyLHXnnlFZ577jlcXV3p1KkTZ8+eZfny5axYsYJPPvmEO+6441JeetV0IgGy08DDF0JbO7s1IiIi1Yspo4yMDBMaGmoA88knnziOb9iwwfj5+RnALF26tMTr9+zZY9zd3Y2rq6v58ssvHcePHTtm2rdvbwDz1ltvFbrm1KlTBjB9+/YtVRvXrVtnLBaLCQoKMps2bXIcnzZtmgFMQECAOXPmTClfsTGpqakGMKmpqaW+plKtnWbMRH9jZv3J2S0RERGpMkr7+V3mx2SzZs3i+PHj3Hzzzdx5552O47GxsTz55JMAvPfeeyVeP336dHJzcxk9ejRDhw51HA8NDWXatGkATJ06tdA1KSkpAAQHB5eqja+//jrGGF566SXatWvnOH7ffffRp08fUlNT+fzzz0t1r2rBMXha6wuJiIiUVZnD0Ny5cwGKfcxkDzeLFy8u8frNmzcD0KtXryLnOnbsSFhYGLt37+bgwYOO4/YwVLdu3Yu2Ly8vjwULFmCxWBg+fPgltbHa0crTIiIil6zMYWjjxo0AdO7cuci55s2b4+Pjw6lTpzhx4kSx15vfBlhnZGQUez4oKAiAnTt3Oo4lJycDpesZ2rNnD+np6URHRxMYGFjkfGxsLAAJCQkXvVe1kHoEUg+BxQXCOzq7NSIiItVOmcJQZmYmx48fx93dnfr16xc5b7FYCAsLAyApKanYe7Rq1QqwzfT6o71797Jjxw4ATp8+7Thu7xl66aWXsFgs+Pj40KZNG5555hnHObv9+/cDEBERUWz94eHhF2wfQHZ2NmlpaYW+qiz7lPr6bcDq59y2iIiIVENlCkPp6ekA+Pn5YSlhYT9fX1+g5J6fUaNG4eHhwbx58xg7diz79u0jIyODRYsWMWjQIFxdXQHIz88vdN1VV11Fnz596NmzJ8HBwWzbto1JkybRtm1b9uzZ4yhnDy7+/v6X1D6ASZMmERAQ4Phq1KgKr+jseESm9YVEREQuRZnCUG5uLoAjsBTHHpJKKtO8eXNmzpyJh4cHU6dOpWnTpvj6+nLNNdcQFRVFnz59gMJhZsSIEfz888/8+OOPLF++nIMHD/LTTz/Rrl07kpKSuOeee0rdxou1D2D8+PGkpqY6vg4fPlxiWadzbM6q8UIiIiKXokzrDHl7ewO2x2Ulsfe4+PmV/Mjmtttuo2PHjnz88cckJCTg4+ND3759GTFiBD169ABwPG4rSZcuXZg3bx5RUVGsWrWKQ4cOERERcdE2lqZ9VqsVq9V6wfqrhOx0OL7N9r16hkRERC5JmcJQnTp18PLyIiMjg9TUVAICAoqUSUpKwmKxEBkZecF7RUdHM2nSpELH8vLy2L59O25ubsTExFy0PeHh4bRr147169ezb98+IiIiaNCgAQBHjhwp9hr7WKEmTZpc9P5VXuJ6MAUQEAEBFw6PIiIiUrwyPSZzcXGhZcuWwO+zys63d+9e0tLSiI6OxsfHp8yNWbRoEenp6cTFxZW6Z8b+WMzLywuAmJgYXFxciI+PJysrq0h5e7s7dOhQ5vZVOYe0H5mIiMjlKvPU+oEDBwIwe/bsIufsxwYPHlzmhuTm5jJx4kTANsi6NHbv3s3WrVuxWq20bm3bhsK+ZUdOTk6xM9Yup41VjmNzVo0XEhERuVRlDkP3338/VquV6dOnM3/+fMfxDRs28Nprr+Hl5cWjjz4KQGJiInFxcYwbN67QPRYtWkReXp7j7ykpKQwbNox169bRu3dvbrnllkLlp0+fXmjdIbBt9PqnP/2JgoICRo0aVagn6pFHHgHgqaeeYu/evY7j06ZNY/HixbRv394R6qqt/Dw4vM72vcYLiYiIXLpL2etjypQpBjCAad++venatatxdXU1Li4u5rPPPnOUe/311x3lTp486TjeuHFjExQUZLp27Wq6dOlirFarAUyHDh1MSkpKkfr+/Oc/G8BcccUVJi4uzjRt2tRYLBYDmD59+pjMzMxC5QsKCszQoUMNYDw8PEz37t1NTEyMAUxgYKCJj48v0+utknuTHfnVth/Z3xoZk5/n7NaIiIhUORW2NxnAmDFj+Pbbb+nWrRu7du0iPj6efv36sWzZskJbYPTv35/Q0FAGDRpUaCuNESNGEBwczObNm9m+fTtt27Zl8uTJ/PLLL44VqM93xx130K1bN44fP87y5ctJTk6mR48eTJs2jYULFzrGC9lZLBY+//xzXn/9daKioli/fj0pKSmMGDGCTZs2OcY9VWuH7esLdQKXkpcJEBERkQuzGPPb/hhSorS0NAICAkhNTS1xMcdK9++7Yfsc6PMc9HzS2a0RERGpckr7+X1JPUPiZMb8PpNM44VEREQui8JQdXTmEKQfBRc3CLvS2a0RERGp1hSGqiP7eKEG7cDD27ltERERqeYUhqojPSITEREpNwpD1dEhLbYoIiJSXhSGqptzZ+BEvO179QyJiIhcNoWh6iZxPWAgsAn4hTq7NSIiItWewlB1c+gn258RXZ3bDhERkRpCYai6sc8k03ghERGRcqEwVJ3k5/72mAyNFxIRESknCkPVydEtkHcOvAIhuLmzWyMiIlIjKAxVJ4ft6wtdBS76TyciIlIe3JzdACkD++DpRhovJCJlk5ubS35+vrObIXLJXF1dcXd3r5B7KwxVF8bAIfvgac0kE5HSSUtLIzk5mezsbGc3ReSyWa1WgoODL7gD/aVQGKouTu2DjBPg6gENOzi7NSJSDaSlpXHkyBF8fX0JDg7G3d0di8Xi7GaJlJkxhtzcXFJTUzly5AhAuQYihaHqwj6lvmEHcPd0bltEpFpITk7G19eX8PBwhSCp9ry8vPDz8yMxMZHk5ORyDUMahVtdHDpv8LSIyEXk5uaSnZ1NQECAgpDUGBaLhYCAALKzs8nNzS23+yoMVReOzVm1vpCIXJx9sHRFDTgVcRb773R5TghQGKoOMk9B8k7b9+oZEpEyUK+Q1DQV8TutMFQd2McL1Y0Gn2DntkVERKSGURiqDvSITEREpMIoDFUHjs1ZFYZERETKm8JQVZeXDUc22r7X5qwiIiLlTmGoqkvaBPnZ4B0MdZs6uzUiIiI1jsJQVXf4vPFCmhUiIiJS7hSGqjottigiIlKhFIaqMmPOm0mmzVlFRKT85eXlObsJTqcwVJUl74Zzp8DNExq0c3ZrRERqhJMnT/LXv/6Vli1b4u3tTZ06dejSpQvz589n8+bNWCwW/Pz8yMrKKnJtQUEB9evXx2KxsGPHjjLVu2TJEq677jrCwsLw9PQkKiqKhx56qNg6Pv30U/r06UNQUBCenp40bdqUcePGFSm7ceNGbr/9dho1aoSHhwfBwcEMGjSIRYsWFSl74MABLBYL9evXJzs7m9GjRxMYGEhwcOH161atWsW1115LnTp18Pb2plOnTsyaNatMr7XaMXJRqampBjCpqamVW/GGWcZM9Dfm42srt14RqfbOnTtn4uPjzblz55zdlCplw4YNJjQ01ADGz8/P9OjRw7Rr185YrVbz6KOPGmOMadWqlQHMt99+W+T6pUuXGsBcddVVZar3jTfeMICxWCzmyiuvNF27djV169Y1Pj4+hcplZWWZ66+/3lG2Xbt25uqrrzbBwcEmICCgUNkPP/zQuLq6GsA0adLExMXFmejoaAMYwEyaNKlQ+f379xvAhIaGmrFjxxpfX1/Tq1cv06pVK0eZjz76yLi4uBiLxWJiYmJMhw4djJubmwHM888/X6bXXFHK8rtd2s9vhaFScFoYmvOQLQwteqFy6xWRau9iHxgFBQUmIzu32nwVFBRc9s/k9OnTJjw83ADmoYceMhkZGY5zx44dMz/++KMxxpj/+7//M4C56667itzjwQcfNIB59913S11vVlaW8fHxMYBZsWKF43h+fr757rvvCpV96KGHDGBatmxptm/f7jiel5dnvvzyS8fff/nlF+Pq6mo8PDzMF198Uege3377rfH09DQWi8WsWbPGcdwehry8vEx0dLRJTEx0tMMYY3799Vfj7u5uAgICzJIlSxzXrV+/3gQEBBgXFxcTHx9f6tddUSoiDLlVbj+UlMmhn2x/arFFESln53LziZnwg7ObUWrxLw3A2+PyPrKmTp1KYmIigwYNYurUqYXOhYaGEhoaCsDw4cN57rnnmDt3Lnl5ebi52eotKCjgm2++wWq1MmzYsFLXm5qaSkZGBt7e3nTv3t1x3MXFhRtuuMHx94MHD/LBBx/g5eXFggULaNy4seOcq6srQ4cOdfz91VdfJT8/n8cee4xbb721UH1/+tOfeOCBB3jrrbd4++236dq18JjTc+fO8dRTTxEWFuZoB8Arr7xCbm4ur732GnFxcY7yV155JWPHjuWVV17hiy++4KWXXir1a68uNGaoqjp7Ek7ttX3fqLNz2yIiUgN8++23ADz++OMXLNekSRO6du3KqVOnWL58ueP48uXLOX78ODfccANBQUGlrrdevXo0adKEzMxM7rvvPpKTk4stN3/+fPLz8xkyZEihIPRHBQUFLF68GIAxY8YUW+auu+4CYMWKFcWeHzJkSJF7Lly4EHd3d4YPH16k/JVXXgnApk2bSmxXdaaeoarKvr5QSEvwCnRuW0Sk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9uxZY4wxubm5ju04Hn300ULlZ8+ebQATHh5u9uzZ4zj+4YcfGsC0b9/eFBQUlPo1awVqERGR6qe0n98WY0q5zfx5pk6dytixYwFo3749Xl5erF27FmMMn376qWPl5zfeeIMnn3wSgJMnTxIcHAxAZGQk6enpXHHFFRhj+PXXX8nOzqZDhw4sXrzYsfCi3enTp+nSpQu7du0iKCiItm3bsnv3bo4cOcKVV17J8uXLCz2WM8Zw66238tVXX+Hh4UGnTp04ffo08fHxBAYGsnr1asfjvtJIS0sjICCA1NTUEqfsi4iISNVS2s/vMj8mAxgzZgzffvst3bp1Y9euXcTHx9OvXz+WLVtWaAuM/v37ExoayqBBg6hbt67j+IgRIwgODmbz5s1s376dtm3bMnnyZH755ZciQQggMDCQn3/+mTFjxuDl5cWaNWvw9PTkmWeeYcWKFUXGJ1ksFj7//HNef/11oqKiWL9+PSkpKYwYMYJNmzaVKQiJiIhIzXZJPUO1jXqGREREqp8K7RkSERERqSkUhkRERKRWUxgSERGRWk1hSERERGo1hSERERGp1RSGREREpFZTGBIREZFaTWFIREREajWFIREREanVFIZERESkVlMYEhERkVpNYUhERERqNYUhERERqdUUhkRERKRWUxgSERGRWk1hSERERGo1hSERERGp1RSGREREpFZTGBIREZFaTWFIREREajWFIREREanVFIZERESkVlMYEhERkVpNYUhERERqNYUhERERqdUUhkRERKRWUxgSERGRWk1hSERERGo1hSERERGp1RSGnKygwDi7CSIiIrWawpATzd9ylBvfW0N6Vq6zmyIiIlJrKQw5SWZOHi/N287mw2cY+/mv5OUXOLtJIiIitZLCkJN4e7jx0YhOeLm7snzXSV6Yux1j9MhMRESksikMOVGb8ADevrU9Fgv86+dDTF+139lNEhERqXUUhpzsmlb1eXZQSwBe+V8CP2w/5uQWiYiI1C4KQ1XAvVc34Y4uERgDj87+lS2JZ5zdJBERkVpDYagKsFgsvHBDK3o1DyErt4B7Z63nyJlzzm6WiIhIrXDJYWjLli0MGTKEkJAQvLy8aNu2LVOmTCn1IOD169czZMgQ6tWrh6enJ82bN2f8+PGkpqYWKjdz5kwsFstFv+6+++5C1w0dOrTEsr17977Ul11h3FxdmDK8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EMDcuXPp06ePs5vkUFnvjSkpKfzwww/FlklKSnLaAHr7+6KHh4ejd7u8qWeolklISODFF1+kZcuWLF26tMoEIbD9ywOgXbt2FXL/AwcOYGwLjRb5mjhxIgAzZszAGFPh+3OVxP5hWFHd8vZ/1X311VdFBqufPHmSdevW4erqSpcuXSqk/j/67rvvALj++usrpT6wffCD7cPvj1JTU1m7di3u7u4VutZQcQ4fPsx7772H1Wqt8OUF/uj834s//st79erVJCYm0rlzZxo2bFip7aosOTk5jBw5End3d3788ccqFYSg4t8bZ86cWeJ749KlSwG46667HMcqW0W/L4LCUK0za9YsCgoKePzxxwkICKj0+t9++20+/PDDQh/EeXl5TJ48mRkzZuDp6Vnps5kq2759+5gxY0ahn8G5c+d49tln+fTTT/Hy8qqwBRGvvPJKevToQVJSEo899phjxlJWVhYPPvggGRkZDB8+vNwWvbsQ+yJ+derUoUOHDhVen92DDz4IwOOPP15obNTp06e58847SUlJYdiwYRX2/0dqaipr1qwpdGzbtm0MHDiQ9PR0xo8f73hcWVn69u1Lq1at2LFjB88995zjAy85Odkx+238+PGV2qbKtGTJEg4ePMhNN91UYYHjYlatWsWTTz5ZZNbYDz/8wF/+8hcAHn74YSe0rPK89tprRV7/559/7nj99j8rgh6T1TL2dWXee+89/vOf/5RY7t13362QZ+WnT5/mL3/5C48//jht27bFxcWFHTt2kJKSgpeXF5999lmNH5eQlpbGyJEjefTRR2nbti15eXkkJCSQlpaGl5cXX3zxRYV+GH788cd0797dMV6lefPmbNu2jZMnT9K6dWvefvvtCqv7fPaxO126dCnxkVVFGDFiBMuXL+fjjz+mc+fOtGjRAn9/f7Zu3UpGRgZt2rThnXfeqbD6T58+Tffu3WnUqBFNmjThzJkzbNmyBYC777670taTOZ+LiwszZsygd+/eTJo0iS+++ILGjRuzceNG0tPTuf/++xk8eHClt6uy2N8XV69efcExMQ888ECF/Rzy8vJ44403+Mc//kGbNm2oU6cO+/fv5+DBgwA89dRT3HrrrRVSd1UxadIknn/+edq2bYuPjw+7du3i2LFjgC2M28e5VgSFoVrGPjDWPgagJPZ1R8rbvffeS2ZmJt9//z0JCQlkZmYSHh7OkCFDGDduHM2bN6+QequSxo0bM3LkSJYuXcq6desACAsLY9iwYTzxxBMV/jNo1qwZGzduZMKECfzvf/9j9erVhIeHc++99zJ+/PgS15opb/YAYB/HVJmmT5/ONddcw/vvv8/mzZs5ePAgTZs25dZbb+Wxxx6r0MUOg4KCGD58OCtWrODnn3/G39+fAQMGcP/993PjjTdWWL0X06lTJ9auXctzzz3H8uXLWbduHS1btuTBBx/k3nvvdVq7KoP9ffHAgQOOtbiKU5GDhzt16sRbb73FF198wYEDB9i+fTt169Zl8ODBjB07lr59+1ZY3VXFY489xn/+8x8SEhLIzs4mODiYwYMHO9YZqkgW44wHgCIiIiJVhMYMiYiISK2mMCQiIiK1msKQiIiI1GoKQyIiIlKrKQyJiIhIraYwJCIiIrWawpCIiIjUagpDIiIiUqspDImIiEitpjAkIiIitZrCkIiIiNRqCkMiIiJSqykMiYiISK2mMCQiIiK12v8DyAv359zEpCQAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 31
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-12T03:25:30.717247Z",
     "start_time": "2025-09-12T03:25:30.702940Z"
    }
   },
   "cell_type": "code",
   "source": [
    "\n",
    "best_model = model.best_estimator_\n",
    "best_params_ = model.best_params_\n",
    "accuracy = best_model.score(x_test, y_test)\n",
    "auc= roc_auc_score(y_test, best_model.predict_proba(x_test)[:,1])\n",
    "\n",
    "print(f'best params: {best_params_}')\n",
    "print(f'cv accuracy: {model.best_score_}')\n",
    "print(f'test accuracy: {accuracy}')\n",
    "print(f'auc: {auc}')"
   ],
   "id": "f0875f5c4a7714d9",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "best params: {'max_depth': 1}\n",
      "cv accuracy: 0.8809090909090909\n",
      "test accuracy: 0.88\n",
      "auc: 0.8730703259005146\n"
     ]
    }
   ],
   "execution_count": 32
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "myenv",
   "language": "python",
   "name": "myenv"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
